PchButik.se

Enklaste koden

Enklaste koden bild 1

main.cpp

//PchButik.se
//Per-Anders Hult

//Pinnar
#define PIN_POWER_JORDFUKT 4 // Ström till jordfukt sensor
#define PIN_JORDFUKT_IN 5 // Över eller under grĂ€nslĂ€ge för jordfukt
#define PIN_PUMP_RELAY_UT 13 //Pump mÄste ha relÀ

//om en rad börjar med tvÄ snestrÀck kommer den kodraden vara inaktiv.
// beroend pÄ modell av relÀ, kan relÀ vara aktiv vid utsignal HIGH eller LOW
// Vanligast Àr att relÀmodul Àr aktiv med LOW

void setup() {
  // put your setup code here, to run once:
  pinMode(PIN_POWER_JORDFUKT, OUTPUT); //pinne som startar jordfuktsmÀtare ska vara utgÄng
  pinMode(PIN_JORDFUKT_IN, INPUT); //pinne som lÀser av jordfuktsmÀtare ska vara ingÄng
  pinMode(PIN_PUMP_RELAY_UT, OUTPUT); //pinne som startar pump relÀ ska vara utgÄng

  digitalWrite(PIN_PUMP_RELAY_UT, HIGH); //stÀng av pump, Àndra denna rad till LOW vid behov
  
  digitalWrite(PIN_POWER_JORDFUKT, HIGH); //Power test
  delay(1000); // jordfukt sensor PWR-LED ska lysa i 1 sekund
  digitalWrite(PIN_POWER_JORDFUKT, LOW); // StÀng av ström till jordfukt sensor
  delay(5000); // VĂ€nta 5 sekunder innan systemet startar
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(PIN_POWER_JORDFUKT, HIGH); //Power on
  delay(2000); //Tid för uppstart av jordfukt sensor innan mÀtning ska ske 2000 = 2 sekunder.
  if(digitalRead(PIN_JORDFUKT_IN) == HIGH){ // testar om jorden Àr fuktig
    digitalWrite(PIN_POWER_JORDFUKT, LOW); // StÀng av ström till jordfukt sensor
    digitalWrite(PIN_PUMP_RELAY_UT, LOW); //Starta pump, Àndra denna rad till HIGH vid behov
    delay(5000); //Tid som pumpen ska gÄ. 5000 = 5 sekunder, eller vÀlj eget vÀrde.
    digitalWrite(PIN_PUMP_RELAY_UT, HIGH); //stÀng av pump, Àndra denna rad till LOW vid behov
  }
  digitalWrite(PIN_POWER_JORDFUKT, LOW); // StÀng av ström till jordfukt sensor
  // Ger en paus pÄ en vecka innan nÀsta vattning.
  // 7 dagar x 24 timmar per dygn = 168 timmar
  // 168 timmar x  60 minuter per timme = 10080 minuter
  // 10080 minuter x 60 sekunder per minut = 604800 sekunder
  // 604800 sekunder x 1000 dels sekunder(mS) = 604800000
  delay(604800000); //VÀntar 7 dagar till nÀsta bevattning, eller vÀlj eget vÀrde.
  
  //delay(5000); //Denna avÀnds bara i videon, för att videon inte ska vara en vecka lÄng.

}

Simulera med kopp vatten

Endast PWR-LED

TÀnds bara PWR-LED och inte DO-LED, dÄ Àr jordfukten under din satta nivÄ.

Och jorden behöver vatten.

NÀr bÄda LED lyser

DÄ Àr jorden fortfarande fuktig, och inget mer vatten behövs.

Pumpen eller ett larm kan styras med pinne 13.

Denna styrning finns med i koden, men detta experiment har inga bilder eller beskrivning hur pump och relÀ eller larm kopplas.

Inköpslista:

  • 0098 Aktiv sensor för jordfukt justerbar, passar Arduino mm: lĂ€nk
  • 0541 UNO kort, Budget-version av ARDUINO UNO R3: lĂ€nk
  • 1299 10 cm Flatkabel med hona-hane kontakter, 40 kablar bred: lĂ€nk
NÀr bÄda LED lyser

kopplings schema

Originalkod med kommentarer:

NÀr bÄda LED lyser

Video

Video som visar grundkoppling och enkel funktion.

Video som visar fortsatt test och beteende i praktiken.

Denna sida Àr konverterad med hjÀlp av AI.
En sida för dig som bygger elektronik sjÀlv, experimenterar och laborerar.
Skapad av Per-Anders Hult för PchButik.se.